1. Field of the Invention
The present invention relates to a network device for processing data in a network and more particularly to use of memory in a network device that allows for static and dynamic sharing of tables.
2. Description of the Related Art
A network may include one or more network devices, such as Ethernet switches, each of which includes several modules that are used to process information that is transmitted through the device. Specifically, the device may include port interface modules, designed to send and receive data over a network, a Memory Management Unit (MMU), to store that data until it is forwarded or further processed and resolution modules, that allow the data to be reviewed and processed according to instructions. The resolution modules include switching functionalities for determining to which destination port data should be directed. One of the ports on the network device may be a CPU port that enables the device to send and receive information to and from external switching/routing control entities or CPUs.
Many network devices operate as Ethernet switches, where packets enter the device from multiple ports, where switching and other processing are performed on the packets. Thereafter, the packets are transmitted to one or more destination ports through the MMU. The process of determining an egress port for a packet involves examining the packet to determine attributes.
Part of the process of determining the packet attributes includes searching of table entries in memory to determine quantities to direct and modify the packet. For example, an IP destination address may be derived from the packet header, that may not, without table lookups, determine an egress port of the network device that the packet should be sent from to reach that destination IP address. Such a decision process requires a lookup in the memory tables. However, memory available to the device is finite and requirements for tables and table sizes may not be known definitively until the network device is put into service. Thus, there is a need for a network device that allows for more flexible usage of tables in memory to comport with different network traffic situations.